An Optimal Algorithm for L1 Shortest Paths Among Obstacles in the Plane (Draft)
نویسنده
چکیده
We present an optimal Θ(n log n) algorithm for determining shortest paths according to the L1 (L∞) metric in the presence of disjoint polygonal obstacles in the plane. Our algorithm requires only linear O(n) space to build a planar subdivision (a Shortest Path Map) with respect to a fixed source point such that the length of a shortest path from the source to any query point can be reported in time O(log n) by locating the query point in the subdivision. An actual shortest path from the source to the query point can be reported in additional time O(k), where k is the number of “turns” in the path. The algorithm uses the continuous Dijkstra methodology of propagating a “wavefront” through the plane. The algorithm can be generalized to find shortest paths according to any “fixed orientation” metric, yielding an O(n log n √ ǫ ) approximation algorithm for finding Euclidean shortest paths among obstacles. The algorithm can further be generalized to the case of multiple sources to build a Voronoi diagram for multiple source points which lie among a collection of obstacles in time θ(N logN), where N is the maximum of the number of sources and the number of obstacle vertices.
منابع مشابه
Computing L1 Shortest Paths among Polygonal Obstacles in the Plane
Given a point s and a set of h pairwise disjoint polygonal obstacles of totally n vertices in the plane, we present a new algorithm for building an L1 shortest path map of size O(n) in O(T ) time and O(n) space such that for any query point t, the length of the L1 shortest obstacleavoiding path from s to t can be reported in O(log n) time and the actual shortest path can be found in additional ...
متن کاملA Nearly Optimal Algorithm for Finding L 1 Shortest Paths among Polygonal Obstacles in the Plane
Given a set of h pairwise disjoint polygonal obstacles of totally n vertices in the plane, we study the problem of computing an L1 (or rectilinear) shortest path between two points avoiding the obstacles. Previously, this problem has been solved in O(n log n) time and O(n) space, or alternatively in O(n + h log n) time and O(n + h log h) space. A lower bound of Ω(n + h log h) time and Ω(n) spac...
متن کاملAn Optimal Algorithm for Euclidean Shortest Paths in the Plane
We propose an optimal-time algorithm for a classical problem in plane computational geometry: computing a shortest path between two points in the presence of polygonal obstacles. Our algorithm runs in worst-case time O(n logn) and requires O(n logn) space, where n is the total number of vertices in the obstacle polygons. The algorithm is based on an eecient implementation of wavefront propagati...
متن کاملk-Link Rectilinear Shortest Paths Among Rectilinear Obstacles in the Plane
We present an algorithm for computing k-link rectilinear shortest paths among rectilinear obstacles in the plane. We extend the “continuous Dijkstra” paradigm to store the link distance information associated with each propagating “wavefront”. Our algorithm runs in time O(kn log n) and space O(kn), where n is the number of vertices of the obstacles. Previous algorithms for the problem had worst...
متن کاملL_1 Shortest Path Queries among Polygonal Obstacles in the Plane
Given a point s and a set of h pairwise disjoint polygonal obstacles with a total of n vertices in the plane, after the free space is triangulated, we present an O(n + h log h) time and O(n) space algorithm for building a data structure (called shortest path map) of size O(n) such that for any query point t, the length of the L1 shortest obstacle-avoiding path from s to t can be reported in O(l...
متن کامل